#ifndef FLEX_BISON_DRIVER_H
#define FLEX_BISON_DRIVER_H

#include <iostream>
#include <map>
#include <string>
#include "scanner.h"
#include "parser.hpp"

namespace Marker {
class Driver {
    private:
        Parser _parser;
        Scanner _scanner;
    public:
        Driver();
        int parse();
        virtual ~Driver() = default;

        struct CSSBlock {
            std::map<std::string, std::string> declares;
            std::map<std::string, struct CSSBlock> blocks;
            struct CSSBlock *parent;
        } global;
        struct CSSBlock *current = &global;
};
}
#endif //FLEX_BISON_DRIVER_H
